//package com.heima.wemedia.service.impl;
//
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//
//import com.heima.file.service.FileStorageService;
//import com.heima.model.common.dtos.ResponseResult;
//import com.heima.model.common.enums.AppHttpCodeEnum;
//import com.heima.model.wemedia.pojos.WmMaterial;
//import com.heima.utils.thread.WmThreadLocalUtil;
//import com.heima.wemedia.mapper.WmMaterialMapper;
//import com.heima.wemedia.service.WmMaterialService;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.IOException;
//import java.util.Date;
//import java.util.UUID;
//
//
//@Slf4j
//@Service
//@Transactional
//public class A extends ServiceImpl<WmMaterialMapper, WmMaterial> implements WmMaterialService {
//
//    @Autowired
//    FileStorageService fileStorageService;
//
//
//    @Override
//    public ResponseResult uploadPicture(MultipartFile multipartFile) {
//
//        // 1. 检查参数
//        if (multipartFile == null || multipartFile.getSize() == 0) {
//            return ResponseResult.errorResult(AppHttpCodeEnum.PARAM_INVALID);
//        }
//
//        // 2. 上传图片到minio中
//        // 文件前缀名
//        String fileName = UUID.randomUUID().toString().replace("-", "");
//        String originalFilename = multipartFile.getOriginalFilename();
//        // 文件后缀名
//        String postfix = originalFilename.substring(originalFilename.lastIndexOf("."));
//        String fileId = null;
//
//        try {
//            fileId = fileStorageService.uploadImgFile("", fileName + postfix, multipartFile.getInputStream());
//            log.info("上传图片到minio中，fileId:{}",fileId);
//        } catch (IOException e) {
//            e.printStackTrace();
//            log.error("上传图片失败，WmMaterialServiceImpl");
//        }
//
//        // 3.保存到数据库中
//        WmMaterial wmMaterial = new WmMaterial();
//        wmMaterial.setUserId(WmThreadLocalUtil.getUser().getId());
//        wmMaterial.setUrl(fileId);
//        wmMaterial.setIsCollection((short)0);
//        wmMaterial.setCreatedTime(new Date());
//
//        // MP的 service方法
//        save(wmMaterial);
//
//
//
//        // 4. 返回结果
//        return ResponseResult.okResult(wmMaterial);
//
//    }
//}
